package main

import (
	"bufio"
	"fmt"
	"io"
	"os"
)

func main() {
	file, err := os.Open("D:/dev/golang/dadi/test.txt")
	defer file.Close()
	if err != nil {
		fmt.Println("open file err=", err)
		return
	}
	// bufio读取文件
	reader := bufio.NewReader(file)
	for {
		str, err := reader.ReadString('\n') // 一次读取一行
		if err == io.EOF {
			// 读取完毕了
			// 这里似乎有bug，虽然进入这里说明已经是EOF了，但是实际上还是有读取到内容的，这里记得也要打印一下
			// 也就是说出现了这种情况，str有内容，同时err又等于io.EOF了
			fmt.Print(str)
			break
		}
		if err != nil {
			fmt.Println("read file err=", err)
			return
		}
		fmt.Print(str)
	}
}
